{
  "cells": [
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Tensorflow1 前端\n",
        "\n",
        "参考: [TVM Tensorflow 前端](https://xinetzone.github.io/tvm/docs/arch/frontend/tensorflow.html)\n",
        "\n",
        "下面以 [mobilenet_v2 float_v2_1.4_224](https://storage.googleapis.com/mobilenet_v2/checkpoints/mobilenet_v2_1.4_224.tgz) 为例，展示 Tensorflow 前端。\n",
        "\n",
        "先运行简单的测试："
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {},
      "outputs": [],
      "source": [
        "import os\n",
        "import warnings\n",
        "os.environ[\"TF_CPP_MIN_LOG_LEVEL\"] = \"3\"\n",
        "import tensorflow as tf\n",
        "tf.get_logger().setLevel(\"ERROR\")\n",
        "warnings.simplefilter(\"ignore\")\n",
        "try:\n",
        "    tf1 = tf.compat.v1\n",
        "except (ImportError, AttributeError):\n",
        "    tf1 = tf\n",
        "import numpy as np\n",
        "import set_env # 加载 TVM\n",
        "import tvm.relay.testing.tf as tf_testing\n",
        "import tvm\n",
        "from tvm import relay"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "shape = 1, 224, 224, 3\n",
        "data = np.random.uniform(size=shape).astype(\"float32\")\n",
        "output_name = \"MobilenetV2/Predictions/Reshape_1\"\n",
        "input_name = \"input\"\n",
        "input_dict = {f\"{input_name}:0\": data}\n",
        "with tf.Graph().as_default():\n",
        "    graph_def = tf_testing.get_workload(\n",
        "        \"https://storage.googleapis.com/mobilenet_v2/checkpoints/mobilenet_v2_1.4_224.tgz\",\n",
        "        \"mobilenet_v2_1.4_224_frozen.pb\",\n",
        "    )\n",
        "    # 调用实用程序将图定义导入默认 graph\n",
        "    graph_def = tf_testing.ProcessGraphDefParam(graph_def)\n",
        "    with tf1.Session() as sess:\n",
        "        # 添加 shapes 到 graph\n",
        "        graph_def = tf_testing.AddShapesToGraphDef(sess, output_name)\n",
        "        # 获取 TF 结果\n",
        "        out_tensor = sess.graph.get_tensor_by_name(f\"{output_name}:0\")\n",
        "        tf_output = sess.run(out_tensor, input_dict)\n",
        "        # TVM 编译\n",
        "        mod, params = relay.frontend.from_tensorflow(\n",
        "            graph_def,\n",
        "            shape={\n",
        "                input_name: shape\n",
        "            }\n",
        "        )"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## TensorFlow 数据布局变换"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "原始模型输入布局为 NHWC，可将其转换为 NCHW："
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {},
      "outputs": [],
      "source": [
        "desired_layouts = {\n",
        "    # 'image.resize2d': ['NCHW'],\n",
        "    'nn.conv2d': ['NCHW', 'default'],\n",
        "    'nn.max_pool2d': ['NCHW', 'default'],\n",
        "    'nn.avg_pool2d': ['NCHW', 'default'],\n",
        "}\n",
        "\n",
        "# 将布局转换为 NCHW\n",
        "# RemoveUnusedFunctions 用于清理图。\n",
        "seq = tvm.transform.Sequential([relay.transform.RemoveUnusedFunctions(),\n",
        "                                relay.transform.ConvertLayout(desired_layouts)])\n",
        "with tvm.transform.PassContext(opt_level=3):\n",
        "    mod = seq(mod)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "target = tvm.target.Target(\"llvm\", host=\"llvm\")\n",
        "dev = tvm.cpu(0)\n",
        "with relay.build_config(opt_level=3):\n",
        "     lib = relay.build(mod, target, params=params)\n",
        "m = tvm.contrib.graph_executor.GraphModule(lib[\"default\"](dev))\n",
        "m.set_input(**{input_name: data})\n",
        "m.run()\n",
        "tvm_output = [m.get_output(kk).numpy() for kk in range(m.get_num_outputs())]\n",
        "np.testing.assert_allclose(\n",
        "    np.squeeze(tvm_output[0]), np.squeeze(tf_output[0]), rtol=1e-2, atol=1e-3\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## TF1 变换为 PyTorch 模型"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "简化模型："
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {},
      "outputs": [],
      "source": [
        "with tvm.transform.PassContext(opt_level=3):\n",
        "    mod = relay.quantize.prerequisite_optimize(mod, params)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "替换 NHWC 为 NCHW 模型："
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 71,
      "metadata": {},
      "outputs": [],
      "source": [
        "from tvm.relay.dataflow_pattern import (\n",
        "    wildcard, is_op, is_var,\n",
        "    # FunctionPattern,\n",
        "    DFPatternCallback,\n",
        "    rewrite\n",
        ")\n",
        "\n",
        "class InputNHWC2NCHW(DFPatternCallback):\n",
        "    def __init__(self):\n",
        "        super().__init__()\n",
        "        self.x = is_var()\n",
        "        self.layout_transform = is_op(\"layout_transform\")(self.x)\n",
        "        self.pattern = self.layout_transform\n",
        "\n",
        "    def callback(self, pre, post, node_map):\n",
        "        x = node_map[self.x][0]\n",
        "        layout_transform = node_map[self.layout_transform][0]\n",
        "        inp_type = relay.transform.InferTypeLocal(x)\n",
        "        N, H, W, C = inp_type.shape\n",
        "        if layout_transform.attrs.src_layout==\"NHWC\" and layout_transform.attrs.dst_layout==\"NCHW\":\n",
        "            x = relay.var(x.name_hint, shape=(N, C, H, W), dtype=inp_type.dtype, span=x.span)\n",
        "            # relay.transform.InferTypeLocal(x)\n",
        "            return x\n",
        "        return post"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 102,
      "metadata": {},
      "outputs": [],
      "source": [
        "expr = rewrite(InputNHWC2NCHW(), mod[\"main\"].body)\n",
        "run_mod = tvm.IRModule.from_expr(expr)\n",
        "run_mod = relay.transform.InferType()(run_mod)\n",
        "with tvm.transform.PassContext(opt_level=3):\n",
        "    run_mod = relay.quantize.prerequisite_optimize(run_mod, params)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "验证数值一致性："
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 90,
      "metadata": {},
      "outputs": [],
      "source": [
        "target = tvm.target.Target(\"llvm\", host=\"llvm\")\n",
        "dev = tvm.cpu(0)\n",
        "with relay.build_config(opt_level=3):\n",
        "     lib = relay.build(run_mod, target, params=params)\n",
        "m = tvm.contrib.graph_executor.GraphModule(lib[\"default\"](dev))\n",
        "m.set_input(**{input_name: data.transpose((0, 3, 1, 2))})\n",
        "m.run()\n",
        "new_tvm_output = [m.get_output(kk).numpy() for kk in range(m.get_num_outputs())]\n",
        "np.testing.assert_allclose(\n",
        "    np.squeeze(tvm_output[0]), np.squeeze(new_tvm_output[0]), rtol=1e-2, atol=1e-3\n",
        ")"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 92,
      "metadata": {},
      "outputs": [],
      "source": [
        "from tvm.contrib.msc.core.frontend import translate\n",
        "from tvm.contrib.msc.framework.tvm import codegen as tvm_codegen\n",
        "from tvm.contrib.msc.framework.torch import codegen"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 118,
      "metadata": {},
      "outputs": [],
      "source": [
        "graph, weights = translate.from_relay(run_mod, params, opt_config={\"opt_level\": 3})"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 119,
      "metadata": {},
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "[09:18:56] /media/pc/data/lxw/ai/tvm/src/relax/ir/block_builder.cc:65: Warning: BlockBuilder destroyed with remaining blocks!\n",
            "[09:18:56] /media/pc/data/lxw/ai/tvm/src/relax/ir/block_builder.cc:65: Warning: BlockBuilder destroyed with remaining blocks!\n"
          ]
        }
      ],
      "source": [
        "from tvm.relax.testing import relay_translator\n",
        "\n",
        "target = tvm.target.Target(\"llvm\", host=\"llvm\")\n",
        "relax_mod = relay_translator.from_relay(run_mod[\"main\"], target)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 120,
      "metadata": {},
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "main <INPUTS: input:0| OUTPUTS: call_tir_159:0>\n",
            "ID_0 input <PARENTS: | CHILDERN: call_tir>\n",
            "  OUT: input:0(input)<1,3,224,224|float32>\n",
            "  OPTYPE: input\n",
            "\n",
            "ID_1 call_tir <PARENTS: input| CHILDERN: call_tir_1>\n",
            "  IN: input:0(input)<1,3,224,224|float32>\n",
            "  OUT: call_tir:0<1,1,224,224,3|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_2 const <PARENTS: | CHILDERN: call_tir_1>\n",
            "  OUT: const:0<12,1,3,3,3,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const<12,1,3,3,3,4|float32>\n",
            "\n",
            "ID_3 call_tir_1 <PARENTS: call_tir,const| CHILDERN: call_tir_2>\n",
            "  IN: call_tir:0<1,1,224,224,3|float32>,const:0<12,1,3,3,3,4|float32>\n",
            "  OUT: call_tir_1:0<1,12,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_4 const_1 <PARENTS: | CHILDERN: call_tir_2>\n",
            "  OUT: const_1:0<1,12,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_1<1,12,1,1,4|float32>\n",
            "\n",
            "ID_5 call_tir_2 <PARENTS: call_tir_1,const_1| CHILDERN: call_tir_3>\n",
            "  IN: call_tir_1:0<1,12,112,112,4|float32>,const_1:0<1,12,1,1,4|float32>\n",
            "  OUT: call_tir_2:0<1,12,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_6 call_tir_3 <PARENTS: call_tir_2| CHILDERN: call_tir_4>\n",
            "  IN: call_tir_2:0<1,12,112,112,4|float32>\n",
            "  OUT: call_tir_3:0<1,12,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_7 const_2 <PARENTS: | CHILDERN: call_tir_4>\n",
            "  OUT: const_2:0<12,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_2<12,1,3,3,1,4|float32>\n",
            "\n",
            "ID_8 call_tir_4 <PARENTS: call_tir_3,const_2| CHILDERN: call_tir_5>\n",
            "  IN: call_tir_3:0<1,12,112,112,4|float32>,const_2:0<12,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_4:0<1,12,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_9 const_3 <PARENTS: | CHILDERN: call_tir_5>\n",
            "  OUT: const_3:0<1,12,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_3<1,12,1,1,4|float32>\n",
            "\n",
            "ID_10 call_tir_5 <PARENTS: call_tir_4,const_3| CHILDERN: call_tir_6>\n",
            "  IN: call_tir_4:0<1,12,112,112,4|float32>,const_3:0<1,12,1,1,4|float32>\n",
            "  OUT: call_tir_5:0<1,12,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_11 call_tir_6 <PARENTS: call_tir_5| CHILDERN: call_tir_7>\n",
            "  IN: call_tir_5:0<1,12,112,112,4|float32>\n",
            "  OUT: call_tir_6:0<1,12,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_12 const_4 <PARENTS: | CHILDERN: call_tir_7>\n",
            "  OUT: const_4:0<6,12,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_4<6,12,1,1,4,4|float32>\n",
            "\n",
            "ID_13 call_tir_7 <PARENTS: call_tir_6,const_4| CHILDERN: call_tir_8>\n",
            "  IN: call_tir_6:0<1,12,112,112,4|float32>,const_4:0<6,12,1,1,4,4|float32>\n",
            "  OUT: call_tir_7:0<1,6,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_14 const_5 <PARENTS: | CHILDERN: call_tir_8>\n",
            "  OUT: const_5:0<1,6,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_5<1,6,1,1,4|float32>\n",
            "\n",
            "ID_15 call_tir_8 <PARENTS: call_tir_7,const_5| CHILDERN: call_tir_9>\n",
            "  IN: call_tir_7:0<1,6,112,112,4|float32>,const_5:0<1,6,1,1,4|float32>\n",
            "  OUT: call_tir_8:0<1,6,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_16 const_6 <PARENTS: | CHILDERN: call_tir_9>\n",
            "  OUT: const_6:0<36,6,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_6<36,6,1,1,4,4|float32>\n",
            "\n",
            "ID_17 call_tir_9 <PARENTS: call_tir_8,const_6| CHILDERN: call_tir_10>\n",
            "  IN: call_tir_8:0<1,6,112,112,4|float32>,const_6:0<36,6,1,1,4,4|float32>\n",
            "  OUT: call_tir_9:0<1,36,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_18 const_7 <PARENTS: | CHILDERN: call_tir_10>\n",
            "  OUT: const_7:0<1,36,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_7<1,36,1,1,4|float32>\n",
            "\n",
            "ID_19 call_tir_10 <PARENTS: call_tir_9,const_7| CHILDERN: call_tir_11>\n",
            "  IN: call_tir_9:0<1,36,112,112,4|float32>,const_7:0<1,36,1,1,4|float32>\n",
            "  OUT: call_tir_10:0<1,36,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_20 call_tir_11 <PARENTS: call_tir_10| CHILDERN: call_tir_12>\n",
            "  IN: call_tir_10:0<1,36,112,112,4|float32>\n",
            "  OUT: call_tir_11:0<1,36,112,112,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_21 const_8 <PARENTS: | CHILDERN: call_tir_12>\n",
            "  OUT: const_8:0<36,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_8<36,1,3,3,1,4|float32>\n",
            "\n",
            "ID_22 call_tir_12 <PARENTS: call_tir_11,const_8| CHILDERN: call_tir_13>\n",
            "  IN: call_tir_11:0<1,36,112,112,4|float32>,const_8:0<36,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_12:0<1,36,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_23 const_9 <PARENTS: | CHILDERN: call_tir_13>\n",
            "  OUT: const_9:0<1,36,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_9<1,36,1,1,4|float32>\n",
            "\n",
            "ID_24 call_tir_13 <PARENTS: call_tir_12,const_9| CHILDERN: call_tir_14>\n",
            "  IN: call_tir_12:0<1,36,56,56,4|float32>,const_9:0<1,36,1,1,4|float32>\n",
            "  OUT: call_tir_13:0<1,36,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_25 call_tir_14 <PARENTS: call_tir_13| CHILDERN: call_tir_15>\n",
            "  IN: call_tir_13:0<1,36,56,56,4|float32>\n",
            "  OUT: call_tir_14:0<1,36,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_26 const_10 <PARENTS: | CHILDERN: call_tir_15>\n",
            "  OUT: const_10:0<8,36,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_10<8,36,1,1,4,4|float32>\n",
            "\n",
            "ID_27 call_tir_15 <PARENTS: call_tir_14,const_10| CHILDERN: call_tir_16>\n",
            "  IN: call_tir_14:0<1,36,56,56,4|float32>,const_10:0<8,36,1,1,4,4|float32>\n",
            "  OUT: call_tir_15:0<1,8,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_28 const_11 <PARENTS: | CHILDERN: call_tir_16>\n",
            "  OUT: const_11:0<1,8,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_11<1,8,1,1,4|float32>\n",
            "\n",
            "ID_29 call_tir_16 <PARENTS: call_tir_15,const_11| CHILDERN: call_tir_17,call_tir_25>\n",
            "  IN: call_tir_15:0<1,8,56,56,4|float32>,const_11:0<1,8,1,1,4|float32>\n",
            "  OUT: call_tir_16:0<1,8,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_30 const_12 <PARENTS: | CHILDERN: call_tir_17>\n",
            "  OUT: const_12:0<48,8,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_12<48,8,1,1,4,4|float32>\n",
            "\n",
            "ID_31 call_tir_17 <PARENTS: call_tir_16,const_12| CHILDERN: call_tir_18>\n",
            "  IN: call_tir_16:0<1,8,56,56,4|float32>,const_12:0<48,8,1,1,4,4|float32>\n",
            "  OUT: call_tir_17:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_32 const_13 <PARENTS: | CHILDERN: call_tir_18>\n",
            "  OUT: const_13:0<1,48,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_13<1,48,1,1,4|float32>\n",
            "\n",
            "ID_33 call_tir_18 <PARENTS: call_tir_17,const_13| CHILDERN: call_tir_19>\n",
            "  IN: call_tir_17:0<1,48,56,56,4|float32>,const_13:0<1,48,1,1,4|float32>\n",
            "  OUT: call_tir_18:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_34 call_tir_19 <PARENTS: call_tir_18| CHILDERN: call_tir_20>\n",
            "  IN: call_tir_18:0<1,48,56,56,4|float32>\n",
            "  OUT: call_tir_19:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_35 const_14 <PARENTS: | CHILDERN: call_tir_20>\n",
            "  OUT: const_14:0<48,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_14<48,1,3,3,1,4|float32>\n",
            "\n",
            "ID_36 call_tir_20 <PARENTS: call_tir_19,const_14| CHILDERN: call_tir_21>\n",
            "  IN: call_tir_19:0<1,48,56,56,4|float32>,const_14:0<48,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_20:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_37 const_15 <PARENTS: | CHILDERN: call_tir_21>\n",
            "  OUT: const_15:0<1,48,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_15<1,48,1,1,4|float32>\n",
            "\n",
            "ID_38 call_tir_21 <PARENTS: call_tir_20,const_15| CHILDERN: call_tir_22>\n",
            "  IN: call_tir_20:0<1,48,56,56,4|float32>,const_15:0<1,48,1,1,4|float32>\n",
            "  OUT: call_tir_21:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_39 call_tir_22 <PARENTS: call_tir_21| CHILDERN: call_tir_23>\n",
            "  IN: call_tir_21:0<1,48,56,56,4|float32>\n",
            "  OUT: call_tir_22:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_40 const_16 <PARENTS: | CHILDERN: call_tir_23>\n",
            "  OUT: const_16:0<8,48,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_16<8,48,1,1,4,4|float32>\n",
            "\n",
            "ID_41 call_tir_23 <PARENTS: call_tir_22,const_16| CHILDERN: call_tir_24>\n",
            "  IN: call_tir_22:0<1,48,56,56,4|float32>,const_16:0<8,48,1,1,4,4|float32>\n",
            "  OUT: call_tir_23:0<1,8,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_42 const_17 <PARENTS: | CHILDERN: call_tir_24>\n",
            "  OUT: const_17:0<1,8,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_17<1,8,1,1,4|float32>\n",
            "\n",
            "ID_43 call_tir_24 <PARENTS: call_tir_23,const_17| CHILDERN: call_tir_25>\n",
            "  IN: call_tir_23:0<1,8,56,56,4|float32>,const_17:0<1,8,1,1,4|float32>\n",
            "  OUT: call_tir_24:0<1,8,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_44 call_tir_25 <PARENTS: call_tir_24,call_tir_16| CHILDERN: call_tir_26>\n",
            "  IN: call_tir_24:0<1,8,56,56,4|float32>,call_tir_16:0<1,8,56,56,4|float32>\n",
            "  OUT: call_tir_25:0<1,8,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_45 const_18 <PARENTS: | CHILDERN: call_tir_26>\n",
            "  OUT: const_18:0<48,8,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_18<48,8,1,1,4,4|float32>\n",
            "\n",
            "ID_46 call_tir_26 <PARENTS: call_tir_25,const_18| CHILDERN: call_tir_27>\n",
            "  IN: call_tir_25:0<1,8,56,56,4|float32>,const_18:0<48,8,1,1,4,4|float32>\n",
            "  OUT: call_tir_26:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_47 const_19 <PARENTS: | CHILDERN: call_tir_27>\n",
            "  OUT: const_19:0<1,48,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_19<1,48,1,1,4|float32>\n",
            "\n",
            "ID_48 call_tir_27 <PARENTS: call_tir_26,const_19| CHILDERN: call_tir_28>\n",
            "  IN: call_tir_26:0<1,48,56,56,4|float32>,const_19:0<1,48,1,1,4|float32>\n",
            "  OUT: call_tir_27:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_49 call_tir_28 <PARENTS: call_tir_27| CHILDERN: call_tir_29>\n",
            "  IN: call_tir_27:0<1,48,56,56,4|float32>\n",
            "  OUT: call_tir_28:0<1,48,56,56,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_50 const_20 <PARENTS: | CHILDERN: call_tir_29>\n",
            "  OUT: const_20:0<48,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_20<48,1,3,3,1,4|float32>\n",
            "\n",
            "ID_51 call_tir_29 <PARENTS: call_tir_28,const_20| CHILDERN: call_tir_30>\n",
            "  IN: call_tir_28:0<1,48,56,56,4|float32>,const_20:0<48,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_29:0<1,48,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_52 const_21 <PARENTS: | CHILDERN: call_tir_30>\n",
            "  OUT: const_21:0<1,48,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_21<1,48,1,1,4|float32>\n",
            "\n",
            "ID_53 call_tir_30 <PARENTS: call_tir_29,const_21| CHILDERN: call_tir_31>\n",
            "  IN: call_tir_29:0<1,48,28,28,4|float32>,const_21:0<1,48,1,1,4|float32>\n",
            "  OUT: call_tir_30:0<1,48,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_54 call_tir_31 <PARENTS: call_tir_30| CHILDERN: call_tir_32>\n",
            "  IN: call_tir_30:0<1,48,28,28,4|float32>\n",
            "  OUT: call_tir_31:0<1,48,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_55 const_22 <PARENTS: | CHILDERN: call_tir_32>\n",
            "  OUT: const_22:0<12,48,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_22<12,48,1,1,4,4|float32>\n",
            "\n",
            "ID_56 call_tir_32 <PARENTS: call_tir_31,const_22| CHILDERN: call_tir_33>\n",
            "  IN: call_tir_31:0<1,48,28,28,4|float32>,const_22:0<12,48,1,1,4,4|float32>\n",
            "  OUT: call_tir_32:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_57 const_23 <PARENTS: | CHILDERN: call_tir_33>\n",
            "  OUT: const_23:0<1,12,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_23<1,12,1,1,4|float32>\n",
            "\n",
            "ID_58 call_tir_33 <PARENTS: call_tir_32,const_23| CHILDERN: call_tir_34,call_tir_42>\n",
            "  IN: call_tir_32:0<1,12,28,28,4|float32>,const_23:0<1,12,1,1,4|float32>\n",
            "  OUT: call_tir_33:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_59 const_24 <PARENTS: | CHILDERN: call_tir_34>\n",
            "  OUT: const_24:0<72,12,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_24<72,12,1,1,4,4|float32>\n",
            "\n",
            "ID_60 call_tir_34 <PARENTS: call_tir_33,const_24| CHILDERN: call_tir_35>\n",
            "  IN: call_tir_33:0<1,12,28,28,4|float32>,const_24:0<72,12,1,1,4,4|float32>\n",
            "  OUT: call_tir_34:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_61 const_25 <PARENTS: | CHILDERN: call_tir_35>\n",
            "  OUT: const_25:0<1,72,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_25<1,72,1,1,4|float32>\n",
            "\n",
            "ID_62 call_tir_35 <PARENTS: call_tir_34,const_25| CHILDERN: call_tir_36>\n",
            "  IN: call_tir_34:0<1,72,28,28,4|float32>,const_25:0<1,72,1,1,4|float32>\n",
            "  OUT: call_tir_35:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_63 call_tir_36 <PARENTS: call_tir_35| CHILDERN: call_tir_37>\n",
            "  IN: call_tir_35:0<1,72,28,28,4|float32>\n",
            "  OUT: call_tir_36:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_64 const_26 <PARENTS: | CHILDERN: call_tir_37>\n",
            "  OUT: const_26:0<72,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_26<72,1,3,3,1,4|float32>\n",
            "\n",
            "ID_65 call_tir_37 <PARENTS: call_tir_36,const_26| CHILDERN: call_tir_38>\n",
            "  IN: call_tir_36:0<1,72,28,28,4|float32>,const_26:0<72,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_37:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_66 const_27 <PARENTS: | CHILDERN: call_tir_38>\n",
            "  OUT: const_27:0<1,72,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_27<1,72,1,1,4|float32>\n",
            "\n",
            "ID_67 call_tir_38 <PARENTS: call_tir_37,const_27| CHILDERN: call_tir_39>\n",
            "  IN: call_tir_37:0<1,72,28,28,4|float32>,const_27:0<1,72,1,1,4|float32>\n",
            "  OUT: call_tir_38:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_68 call_tir_39 <PARENTS: call_tir_38| CHILDERN: call_tir_40>\n",
            "  IN: call_tir_38:0<1,72,28,28,4|float32>\n",
            "  OUT: call_tir_39:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_69 const_28 <PARENTS: | CHILDERN: call_tir_40>\n",
            "  OUT: const_28:0<12,72,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_28<12,72,1,1,4,4|float32>\n",
            "\n",
            "ID_70 call_tir_40 <PARENTS: call_tir_39,const_28| CHILDERN: call_tir_41>\n",
            "  IN: call_tir_39:0<1,72,28,28,4|float32>,const_28:0<12,72,1,1,4,4|float32>\n",
            "  OUT: call_tir_40:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_71 const_29 <PARENTS: | CHILDERN: call_tir_41>\n",
            "  OUT: const_29:0<1,12,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_29<1,12,1,1,4|float32>\n",
            "\n",
            "ID_72 call_tir_41 <PARENTS: call_tir_40,const_29| CHILDERN: call_tir_42>\n",
            "  IN: call_tir_40:0<1,12,28,28,4|float32>,const_29:0<1,12,1,1,4|float32>\n",
            "  OUT: call_tir_41:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_73 call_tir_42 <PARENTS: call_tir_41,call_tir_33| CHILDERN: call_tir_43,call_tir_51>\n",
            "  IN: call_tir_41:0<1,12,28,28,4|float32>,call_tir_33:0<1,12,28,28,4|float32>\n",
            "  OUT: call_tir_42:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_74 const_30 <PARENTS: | CHILDERN: call_tir_43>\n",
            "  OUT: const_30:0<72,12,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_30<72,12,1,1,4,4|float32>\n",
            "\n",
            "ID_75 call_tir_43 <PARENTS: call_tir_42,const_30| CHILDERN: call_tir_44>\n",
            "  IN: call_tir_42:0<1,12,28,28,4|float32>,const_30:0<72,12,1,1,4,4|float32>\n",
            "  OUT: call_tir_43:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_76 const_31 <PARENTS: | CHILDERN: call_tir_44>\n",
            "  OUT: const_31:0<1,72,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_31<1,72,1,1,4|float32>\n",
            "\n",
            "ID_77 call_tir_44 <PARENTS: call_tir_43,const_31| CHILDERN: call_tir_45>\n",
            "  IN: call_tir_43:0<1,72,28,28,4|float32>,const_31:0<1,72,1,1,4|float32>\n",
            "  OUT: call_tir_44:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_78 call_tir_45 <PARENTS: call_tir_44| CHILDERN: call_tir_46>\n",
            "  IN: call_tir_44:0<1,72,28,28,4|float32>\n",
            "  OUT: call_tir_45:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_79 const_32 <PARENTS: | CHILDERN: call_tir_46>\n",
            "  OUT: const_32:0<72,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_32<72,1,3,3,1,4|float32>\n",
            "\n",
            "ID_80 call_tir_46 <PARENTS: call_tir_45,const_32| CHILDERN: call_tir_47>\n",
            "  IN: call_tir_45:0<1,72,28,28,4|float32>,const_32:0<72,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_46:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_81 const_33 <PARENTS: | CHILDERN: call_tir_47>\n",
            "  OUT: const_33:0<1,72,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_33<1,72,1,1,4|float32>\n",
            "\n",
            "ID_82 call_tir_47 <PARENTS: call_tir_46,const_33| CHILDERN: call_tir_48>\n",
            "  IN: call_tir_46:0<1,72,28,28,4|float32>,const_33:0<1,72,1,1,4|float32>\n",
            "  OUT: call_tir_47:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_83 call_tir_48 <PARENTS: call_tir_47| CHILDERN: call_tir_49>\n",
            "  IN: call_tir_47:0<1,72,28,28,4|float32>\n",
            "  OUT: call_tir_48:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_84 const_34 <PARENTS: | CHILDERN: call_tir_49>\n",
            "  OUT: const_34:0<12,72,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_34<12,72,1,1,4,4|float32>\n",
            "\n",
            "ID_85 call_tir_49 <PARENTS: call_tir_48,const_34| CHILDERN: call_tir_50>\n",
            "  IN: call_tir_48:0<1,72,28,28,4|float32>,const_34:0<12,72,1,1,4,4|float32>\n",
            "  OUT: call_tir_49:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_86 const_35 <PARENTS: | CHILDERN: call_tir_50>\n",
            "  OUT: const_35:0<1,12,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_35<1,12,1,1,4|float32>\n",
            "\n",
            "ID_87 call_tir_50 <PARENTS: call_tir_49,const_35| CHILDERN: call_tir_51>\n",
            "  IN: call_tir_49:0<1,12,28,28,4|float32>,const_35:0<1,12,1,1,4|float32>\n",
            "  OUT: call_tir_50:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_88 call_tir_51 <PARENTS: call_tir_50,call_tir_42| CHILDERN: call_tir_52>\n",
            "  IN: call_tir_50:0<1,12,28,28,4|float32>,call_tir_42:0<1,12,28,28,4|float32>\n",
            "  OUT: call_tir_51:0<1,12,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_89 const_36 <PARENTS: | CHILDERN: call_tir_52>\n",
            "  OUT: const_36:0<72,12,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_36<72,12,1,1,4,4|float32>\n",
            "\n",
            "ID_90 call_tir_52 <PARENTS: call_tir_51,const_36| CHILDERN: call_tir_53>\n",
            "  IN: call_tir_51:0<1,12,28,28,4|float32>,const_36:0<72,12,1,1,4,4|float32>\n",
            "  OUT: call_tir_52:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_91 const_37 <PARENTS: | CHILDERN: call_tir_53>\n",
            "  OUT: const_37:0<1,72,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_37<1,72,1,1,4|float32>\n",
            "\n",
            "ID_92 call_tir_53 <PARENTS: call_tir_52,const_37| CHILDERN: call_tir_54>\n",
            "  IN: call_tir_52:0<1,72,28,28,4|float32>,const_37:0<1,72,1,1,4|float32>\n",
            "  OUT: call_tir_53:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_93 call_tir_54 <PARENTS: call_tir_53| CHILDERN: call_tir_55>\n",
            "  IN: call_tir_53:0<1,72,28,28,4|float32>\n",
            "  OUT: call_tir_54:0<1,72,28,28,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_94 const_38 <PARENTS: | CHILDERN: call_tir_55>\n",
            "  OUT: const_38:0<72,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_38<72,1,3,3,1,4|float32>\n",
            "\n",
            "ID_95 call_tir_55 <PARENTS: call_tir_54,const_38| CHILDERN: call_tir_56>\n",
            "  IN: call_tir_54:0<1,72,28,28,4|float32>,const_38:0<72,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_55:0<1,72,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_96 const_39 <PARENTS: | CHILDERN: call_tir_56>\n",
            "  OUT: const_39:0<1,72,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_39<1,72,1,1,4|float32>\n",
            "\n",
            "ID_97 call_tir_56 <PARENTS: call_tir_55,const_39| CHILDERN: call_tir_57>\n",
            "  IN: call_tir_55:0<1,72,14,14,4|float32>,const_39:0<1,72,1,1,4|float32>\n",
            "  OUT: call_tir_56:0<1,72,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_98 call_tir_57 <PARENTS: call_tir_56| CHILDERN: call_tir_58>\n",
            "  IN: call_tir_56:0<1,72,14,14,4|float32>\n",
            "  OUT: call_tir_57:0<1,72,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_99 const_40 <PARENTS: | CHILDERN: call_tir_58>\n",
            "  OUT: const_40:0<22,72,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_40<22,72,1,1,4,4|float32>\n",
            "\n",
            "ID_100 call_tir_58 <PARENTS: call_tir_57,const_40| CHILDERN: call_tir_59>\n",
            "  IN: call_tir_57:0<1,72,14,14,4|float32>,const_40:0<22,72,1,1,4,4|float32>\n",
            "  OUT: call_tir_58:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_101 const_41 <PARENTS: | CHILDERN: call_tir_59>\n",
            "  OUT: const_41:0<1,22,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_41<1,22,1,1,4|float32>\n",
            "\n",
            "ID_102 call_tir_59 <PARENTS: call_tir_58,const_41| CHILDERN: call_tir_60,call_tir_68>\n",
            "  IN: call_tir_58:0<1,22,14,14,4|float32>,const_41:0<1,22,1,1,4|float32>\n",
            "  OUT: call_tir_59:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_103 const_42 <PARENTS: | CHILDERN: call_tir_60>\n",
            "  OUT: const_42:0<132,22,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_42<132,22,1,1,4,4|float32>\n",
            "\n",
            "ID_104 call_tir_60 <PARENTS: call_tir_59,const_42| CHILDERN: call_tir_61>\n",
            "  IN: call_tir_59:0<1,22,14,14,4|float32>,const_42:0<132,22,1,1,4,4|float32>\n",
            "  OUT: call_tir_60:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_105 const_43 <PARENTS: | CHILDERN: call_tir_61>\n",
            "  OUT: const_43:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_43<1,132,1,1,4|float32>\n",
            "\n",
            "ID_106 call_tir_61 <PARENTS: call_tir_60,const_43| CHILDERN: call_tir_62>\n",
            "  IN: call_tir_60:0<1,132,14,14,4|float32>,const_43:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_61:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_107 call_tir_62 <PARENTS: call_tir_61| CHILDERN: call_tir_63>\n",
            "  IN: call_tir_61:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_62:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_108 const_44 <PARENTS: | CHILDERN: call_tir_63>\n",
            "  OUT: const_44:0<132,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_44<132,1,3,3,1,4|float32>\n",
            "\n",
            "ID_109 call_tir_63 <PARENTS: call_tir_62,const_44| CHILDERN: call_tir_64>\n",
            "  IN: call_tir_62:0<1,132,14,14,4|float32>,const_44:0<132,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_63:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_110 const_45 <PARENTS: | CHILDERN: call_tir_64>\n",
            "  OUT: const_45:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_45<1,132,1,1,4|float32>\n",
            "\n",
            "ID_111 call_tir_64 <PARENTS: call_tir_63,const_45| CHILDERN: call_tir_65>\n",
            "  IN: call_tir_63:0<1,132,14,14,4|float32>,const_45:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_64:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_112 call_tir_65 <PARENTS: call_tir_64| CHILDERN: call_tir_66>\n",
            "  IN: call_tir_64:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_65:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_113 const_46 <PARENTS: | CHILDERN: call_tir_66>\n",
            "  OUT: const_46:0<22,132,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_46<22,132,1,1,4,4|float32>\n",
            "\n",
            "ID_114 call_tir_66 <PARENTS: call_tir_65,const_46| CHILDERN: call_tir_67>\n",
            "  IN: call_tir_65:0<1,132,14,14,4|float32>,const_46:0<22,132,1,1,4,4|float32>\n",
            "  OUT: call_tir_66:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_115 const_47 <PARENTS: | CHILDERN: call_tir_67>\n",
            "  OUT: const_47:0<1,22,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_47<1,22,1,1,4|float32>\n",
            "\n",
            "ID_116 call_tir_67 <PARENTS: call_tir_66,const_47| CHILDERN: call_tir_68>\n",
            "  IN: call_tir_66:0<1,22,14,14,4|float32>,const_47:0<1,22,1,1,4|float32>\n",
            "  OUT: call_tir_67:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_117 call_tir_68 <PARENTS: call_tir_67,call_tir_59| CHILDERN: call_tir_69,call_tir_77>\n",
            "  IN: call_tir_67:0<1,22,14,14,4|float32>,call_tir_59:0<1,22,14,14,4|float32>\n",
            "  OUT: call_tir_68:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_118 const_48 <PARENTS: | CHILDERN: call_tir_69>\n",
            "  OUT: const_48:0<132,22,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_48<132,22,1,1,4,4|float32>\n",
            "\n",
            "ID_119 call_tir_69 <PARENTS: call_tir_68,const_48| CHILDERN: call_tir_70>\n",
            "  IN: call_tir_68:0<1,22,14,14,4|float32>,const_48:0<132,22,1,1,4,4|float32>\n",
            "  OUT: call_tir_69:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_120 const_49 <PARENTS: | CHILDERN: call_tir_70>\n",
            "  OUT: const_49:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_49<1,132,1,1,4|float32>\n",
            "\n",
            "ID_121 call_tir_70 <PARENTS: call_tir_69,const_49| CHILDERN: call_tir_71>\n",
            "  IN: call_tir_69:0<1,132,14,14,4|float32>,const_49:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_70:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_122 call_tir_71 <PARENTS: call_tir_70| CHILDERN: call_tir_72>\n",
            "  IN: call_tir_70:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_71:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_123 const_50 <PARENTS: | CHILDERN: call_tir_72>\n",
            "  OUT: const_50:0<132,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_50<132,1,3,3,1,4|float32>\n",
            "\n",
            "ID_124 call_tir_72 <PARENTS: call_tir_71,const_50| CHILDERN: call_tir_73>\n",
            "  IN: call_tir_71:0<1,132,14,14,4|float32>,const_50:0<132,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_72:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_125 const_51 <PARENTS: | CHILDERN: call_tir_73>\n",
            "  OUT: const_51:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_51<1,132,1,1,4|float32>\n",
            "\n",
            "ID_126 call_tir_73 <PARENTS: call_tir_72,const_51| CHILDERN: call_tir_74>\n",
            "  IN: call_tir_72:0<1,132,14,14,4|float32>,const_51:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_73:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_127 call_tir_74 <PARENTS: call_tir_73| CHILDERN: call_tir_75>\n",
            "  IN: call_tir_73:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_74:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_128 const_52 <PARENTS: | CHILDERN: call_tir_75>\n",
            "  OUT: const_52:0<22,132,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_52<22,132,1,1,4,4|float32>\n",
            "\n",
            "ID_129 call_tir_75 <PARENTS: call_tir_74,const_52| CHILDERN: call_tir_76>\n",
            "  IN: call_tir_74:0<1,132,14,14,4|float32>,const_52:0<22,132,1,1,4,4|float32>\n",
            "  OUT: call_tir_75:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_130 const_53 <PARENTS: | CHILDERN: call_tir_76>\n",
            "  OUT: const_53:0<1,22,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_53<1,22,1,1,4|float32>\n",
            "\n",
            "ID_131 call_tir_76 <PARENTS: call_tir_75,const_53| CHILDERN: call_tir_77>\n",
            "  IN: call_tir_75:0<1,22,14,14,4|float32>,const_53:0<1,22,1,1,4|float32>\n",
            "  OUT: call_tir_76:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_132 call_tir_77 <PARENTS: call_tir_76,call_tir_68| CHILDERN: call_tir_78,call_tir_86>\n",
            "  IN: call_tir_76:0<1,22,14,14,4|float32>,call_tir_68:0<1,22,14,14,4|float32>\n",
            "  OUT: call_tir_77:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_133 const_54 <PARENTS: | CHILDERN: call_tir_78>\n",
            "  OUT: const_54:0<132,22,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_54<132,22,1,1,4,4|float32>\n",
            "\n",
            "ID_134 call_tir_78 <PARENTS: call_tir_77,const_54| CHILDERN: call_tir_79>\n",
            "  IN: call_tir_77:0<1,22,14,14,4|float32>,const_54:0<132,22,1,1,4,4|float32>\n",
            "  OUT: call_tir_78:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_135 const_55 <PARENTS: | CHILDERN: call_tir_79>\n",
            "  OUT: const_55:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_55<1,132,1,1,4|float32>\n",
            "\n",
            "ID_136 call_tir_79 <PARENTS: call_tir_78,const_55| CHILDERN: call_tir_80>\n",
            "  IN: call_tir_78:0<1,132,14,14,4|float32>,const_55:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_79:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_137 call_tir_80 <PARENTS: call_tir_79| CHILDERN: call_tir_81>\n",
            "  IN: call_tir_79:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_80:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_138 const_56 <PARENTS: | CHILDERN: call_tir_81>\n",
            "  OUT: const_56:0<132,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_56<132,1,3,3,1,4|float32>\n",
            "\n",
            "ID_139 call_tir_81 <PARENTS: call_tir_80,const_56| CHILDERN: call_tir_82>\n",
            "  IN: call_tir_80:0<1,132,14,14,4|float32>,const_56:0<132,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_81:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_140 const_57 <PARENTS: | CHILDERN: call_tir_82>\n",
            "  OUT: const_57:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_57<1,132,1,1,4|float32>\n",
            "\n",
            "ID_141 call_tir_82 <PARENTS: call_tir_81,const_57| CHILDERN: call_tir_83>\n",
            "  IN: call_tir_81:0<1,132,14,14,4|float32>,const_57:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_82:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_142 call_tir_83 <PARENTS: call_tir_82| CHILDERN: call_tir_84>\n",
            "  IN: call_tir_82:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_83:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_143 const_58 <PARENTS: | CHILDERN: call_tir_84>\n",
            "  OUT: const_58:0<22,132,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_58<22,132,1,1,4,4|float32>\n",
            "\n",
            "ID_144 call_tir_84 <PARENTS: call_tir_83,const_58| CHILDERN: call_tir_85>\n",
            "  IN: call_tir_83:0<1,132,14,14,4|float32>,const_58:0<22,132,1,1,4,4|float32>\n",
            "  OUT: call_tir_84:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_145 const_59 <PARENTS: | CHILDERN: call_tir_85>\n",
            "  OUT: const_59:0<1,22,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_59<1,22,1,1,4|float32>\n",
            "\n",
            "ID_146 call_tir_85 <PARENTS: call_tir_84,const_59| CHILDERN: call_tir_86>\n",
            "  IN: call_tir_84:0<1,22,14,14,4|float32>,const_59:0<1,22,1,1,4|float32>\n",
            "  OUT: call_tir_85:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_147 call_tir_86 <PARENTS: call_tir_85,call_tir_77| CHILDERN: call_tir_87>\n",
            "  IN: call_tir_85:0<1,22,14,14,4|float32>,call_tir_77:0<1,22,14,14,4|float32>\n",
            "  OUT: call_tir_86:0<1,22,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_148 const_60 <PARENTS: | CHILDERN: call_tir_87>\n",
            "  OUT: const_60:0<132,22,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_60<132,22,1,1,4,4|float32>\n",
            "\n",
            "ID_149 call_tir_87 <PARENTS: call_tir_86,const_60| CHILDERN: call_tir_88>\n",
            "  IN: call_tir_86:0<1,22,14,14,4|float32>,const_60:0<132,22,1,1,4,4|float32>\n",
            "  OUT: call_tir_87:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_150 const_61 <PARENTS: | CHILDERN: call_tir_88>\n",
            "  OUT: const_61:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_61<1,132,1,1,4|float32>\n",
            "\n",
            "ID_151 call_tir_88 <PARENTS: call_tir_87,const_61| CHILDERN: call_tir_89>\n",
            "  IN: call_tir_87:0<1,132,14,14,4|float32>,const_61:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_88:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_152 call_tir_89 <PARENTS: call_tir_88| CHILDERN: call_tir_90>\n",
            "  IN: call_tir_88:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_89:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_153 const_62 <PARENTS: | CHILDERN: call_tir_90>\n",
            "  OUT: const_62:0<132,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_62<132,1,3,3,1,4|float32>\n",
            "\n",
            "ID_154 call_tir_90 <PARENTS: call_tir_89,const_62| CHILDERN: call_tir_91>\n",
            "  IN: call_tir_89:0<1,132,14,14,4|float32>,const_62:0<132,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_90:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_155 const_63 <PARENTS: | CHILDERN: call_tir_91>\n",
            "  OUT: const_63:0<1,132,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_63<1,132,1,1,4|float32>\n",
            "\n",
            "ID_156 call_tir_91 <PARENTS: call_tir_90,const_63| CHILDERN: call_tir_92>\n",
            "  IN: call_tir_90:0<1,132,14,14,4|float32>,const_63:0<1,132,1,1,4|float32>\n",
            "  OUT: call_tir_91:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_157 call_tir_92 <PARENTS: call_tir_91| CHILDERN: call_tir_93>\n",
            "  IN: call_tir_91:0<1,132,14,14,4|float32>\n",
            "  OUT: call_tir_92:0<1,132,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_158 const_64 <PARENTS: | CHILDERN: call_tir_93>\n",
            "  OUT: const_64:0<34,132,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_64<34,132,1,1,4,4|float32>\n",
            "\n",
            "ID_159 call_tir_93 <PARENTS: call_tir_92,const_64| CHILDERN: call_tir_94>\n",
            "  IN: call_tir_92:0<1,132,14,14,4|float32>,const_64:0<34,132,1,1,4,4|float32>\n",
            "  OUT: call_tir_93:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_160 const_65 <PARENTS: | CHILDERN: call_tir_94>\n",
            "  OUT: const_65:0<1,34,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_65<1,34,1,1,4|float32>\n",
            "\n",
            "ID_161 call_tir_94 <PARENTS: call_tir_93,const_65| CHILDERN: call_tir_95,call_tir_103>\n",
            "  IN: call_tir_93:0<1,34,14,14,4|float32>,const_65:0<1,34,1,1,4|float32>\n",
            "  OUT: call_tir_94:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_162 const_66 <PARENTS: | CHILDERN: call_tir_95>\n",
            "  OUT: const_66:0<204,34,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_66<204,34,1,1,4,4|float32>\n",
            "\n",
            "ID_163 call_tir_95 <PARENTS: call_tir_94,const_66| CHILDERN: call_tir_96>\n",
            "  IN: call_tir_94:0<1,34,14,14,4|float32>,const_66:0<204,34,1,1,4,4|float32>\n",
            "  OUT: call_tir_95:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_164 const_67 <PARENTS: | CHILDERN: call_tir_96>\n",
            "  OUT: const_67:0<1,204,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_67<1,204,1,1,4|float32>\n",
            "\n",
            "ID_165 call_tir_96 <PARENTS: call_tir_95,const_67| CHILDERN: call_tir_97>\n",
            "  IN: call_tir_95:0<1,204,14,14,4|float32>,const_67:0<1,204,1,1,4|float32>\n",
            "  OUT: call_tir_96:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_166 call_tir_97 <PARENTS: call_tir_96| CHILDERN: call_tir_98>\n",
            "  IN: call_tir_96:0<1,204,14,14,4|float32>\n",
            "  OUT: call_tir_97:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_167 const_68 <PARENTS: | CHILDERN: call_tir_98>\n",
            "  OUT: const_68:0<204,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_68<204,1,3,3,1,4|float32>\n",
            "\n",
            "ID_168 call_tir_98 <PARENTS: call_tir_97,const_68| CHILDERN: call_tir_99>\n",
            "  IN: call_tir_97:0<1,204,14,14,4|float32>,const_68:0<204,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_98:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_169 const_69 <PARENTS: | CHILDERN: call_tir_99>\n",
            "  OUT: const_69:0<1,204,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_69<1,204,1,1,4|float32>\n",
            "\n",
            "ID_170 call_tir_99 <PARENTS: call_tir_98,const_69| CHILDERN: call_tir_100>\n",
            "  IN: call_tir_98:0<1,204,14,14,4|float32>,const_69:0<1,204,1,1,4|float32>\n",
            "  OUT: call_tir_99:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_171 call_tir_100 <PARENTS: call_tir_99| CHILDERN: call_tir_101>\n",
            "  IN: call_tir_99:0<1,204,14,14,4|float32>\n",
            "  OUT: call_tir_100:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_172 const_70 <PARENTS: | CHILDERN: call_tir_101>\n",
            "  OUT: const_70:0<34,204,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_70<34,204,1,1,4,4|float32>\n",
            "\n",
            "ID_173 call_tir_101 <PARENTS: call_tir_100,const_70| CHILDERN: call_tir_102>\n",
            "  IN: call_tir_100:0<1,204,14,14,4|float32>,const_70:0<34,204,1,1,4,4|float32>\n",
            "  OUT: call_tir_101:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_174 const_71 <PARENTS: | CHILDERN: call_tir_102>\n",
            "  OUT: const_71:0<1,34,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_71<1,34,1,1,4|float32>\n",
            "\n",
            "ID_175 call_tir_102 <PARENTS: call_tir_101,const_71| CHILDERN: call_tir_103>\n",
            "  IN: call_tir_101:0<1,34,14,14,4|float32>,const_71:0<1,34,1,1,4|float32>\n",
            "  OUT: call_tir_102:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_176 call_tir_103 <PARENTS: call_tir_102,call_tir_94| CHILDERN: call_tir_104,call_tir_112>\n",
            "  IN: call_tir_102:0<1,34,14,14,4|float32>,call_tir_94:0<1,34,14,14,4|float32>\n",
            "  OUT: call_tir_103:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_177 const_72 <PARENTS: | CHILDERN: call_tir_104>\n",
            "  OUT: const_72:0<204,34,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_72<204,34,1,1,4,4|float32>\n",
            "\n",
            "ID_178 call_tir_104 <PARENTS: call_tir_103,const_72| CHILDERN: call_tir_105>\n",
            "  IN: call_tir_103:0<1,34,14,14,4|float32>,const_72:0<204,34,1,1,4,4|float32>\n",
            "  OUT: call_tir_104:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_179 const_73 <PARENTS: | CHILDERN: call_tir_105>\n",
            "  OUT: const_73:0<1,204,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_73<1,204,1,1,4|float32>\n",
            "\n",
            "ID_180 call_tir_105 <PARENTS: call_tir_104,const_73| CHILDERN: call_tir_106>\n",
            "  IN: call_tir_104:0<1,204,14,14,4|float32>,const_73:0<1,204,1,1,4|float32>\n",
            "  OUT: call_tir_105:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_181 call_tir_106 <PARENTS: call_tir_105| CHILDERN: call_tir_107>\n",
            "  IN: call_tir_105:0<1,204,14,14,4|float32>\n",
            "  OUT: call_tir_106:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_182 const_74 <PARENTS: | CHILDERN: call_tir_107>\n",
            "  OUT: const_74:0<204,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_74<204,1,3,3,1,4|float32>\n",
            "\n",
            "ID_183 call_tir_107 <PARENTS: call_tir_106,const_74| CHILDERN: call_tir_108>\n",
            "  IN: call_tir_106:0<1,204,14,14,4|float32>,const_74:0<204,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_107:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_184 const_75 <PARENTS: | CHILDERN: call_tir_108>\n",
            "  OUT: const_75:0<1,204,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_75<1,204,1,1,4|float32>\n",
            "\n",
            "ID_185 call_tir_108 <PARENTS: call_tir_107,const_75| CHILDERN: call_tir_109>\n",
            "  IN: call_tir_107:0<1,204,14,14,4|float32>,const_75:0<1,204,1,1,4|float32>\n",
            "  OUT: call_tir_108:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_186 call_tir_109 <PARENTS: call_tir_108| CHILDERN: call_tir_110>\n",
            "  IN: call_tir_108:0<1,204,14,14,4|float32>\n",
            "  OUT: call_tir_109:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_187 const_76 <PARENTS: | CHILDERN: call_tir_110>\n",
            "  OUT: const_76:0<34,204,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_76<34,204,1,1,4,4|float32>\n",
            "\n",
            "ID_188 call_tir_110 <PARENTS: call_tir_109,const_76| CHILDERN: call_tir_111>\n",
            "  IN: call_tir_109:0<1,204,14,14,4|float32>,const_76:0<34,204,1,1,4,4|float32>\n",
            "  OUT: call_tir_110:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_189 const_77 <PARENTS: | CHILDERN: call_tir_111>\n",
            "  OUT: const_77:0<1,34,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_77<1,34,1,1,4|float32>\n",
            "\n",
            "ID_190 call_tir_111 <PARENTS: call_tir_110,const_77| CHILDERN: call_tir_112>\n",
            "  IN: call_tir_110:0<1,34,14,14,4|float32>,const_77:0<1,34,1,1,4|float32>\n",
            "  OUT: call_tir_111:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_191 call_tir_112 <PARENTS: call_tir_111,call_tir_103| CHILDERN: call_tir_113>\n",
            "  IN: call_tir_111:0<1,34,14,14,4|float32>,call_tir_103:0<1,34,14,14,4|float32>\n",
            "  OUT: call_tir_112:0<1,34,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_192 const_78 <PARENTS: | CHILDERN: call_tir_113>\n",
            "  OUT: const_78:0<204,34,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_78<204,34,1,1,4,4|float32>\n",
            "\n",
            "ID_193 call_tir_113 <PARENTS: call_tir_112,const_78| CHILDERN: call_tir_114>\n",
            "  IN: call_tir_112:0<1,34,14,14,4|float32>,const_78:0<204,34,1,1,4,4|float32>\n",
            "  OUT: call_tir_113:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_194 const_79 <PARENTS: | CHILDERN: call_tir_114>\n",
            "  OUT: const_79:0<1,204,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_79<1,204,1,1,4|float32>\n",
            "\n",
            "ID_195 call_tir_114 <PARENTS: call_tir_113,const_79| CHILDERN: call_tir_115>\n",
            "  IN: call_tir_113:0<1,204,14,14,4|float32>,const_79:0<1,204,1,1,4|float32>\n",
            "  OUT: call_tir_114:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_196 call_tir_115 <PARENTS: call_tir_114| CHILDERN: call_tir_116>\n",
            "  IN: call_tir_114:0<1,204,14,14,4|float32>\n",
            "  OUT: call_tir_115:0<1,204,14,14,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_197 const_80 <PARENTS: | CHILDERN: call_tir_116>\n",
            "  OUT: const_80:0<204,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_80<204,1,3,3,1,4|float32>\n",
            "\n",
            "ID_198 call_tir_116 <PARENTS: call_tir_115,const_80| CHILDERN: call_tir_117>\n",
            "  IN: call_tir_115:0<1,204,14,14,4|float32>,const_80:0<204,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_116:0<1,204,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_199 const_81 <PARENTS: | CHILDERN: call_tir_117>\n",
            "  OUT: const_81:0<1,204,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_81<1,204,1,1,4|float32>\n",
            "\n",
            "ID_200 call_tir_117 <PARENTS: call_tir_116,const_81| CHILDERN: call_tir_118>\n",
            "  IN: call_tir_116:0<1,204,7,7,4|float32>,const_81:0<1,204,1,1,4|float32>\n",
            "  OUT: call_tir_117:0<1,204,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_201 call_tir_118 <PARENTS: call_tir_117| CHILDERN: call_tir_119>\n",
            "  IN: call_tir_117:0<1,204,7,7,4|float32>\n",
            "  OUT: call_tir_118:0<1,204,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_202 const_82 <PARENTS: | CHILDERN: call_tir_119>\n",
            "  OUT: const_82:0<56,204,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_82<56,204,1,1,4,4|float32>\n",
            "\n",
            "ID_203 call_tir_119 <PARENTS: call_tir_118,const_82| CHILDERN: call_tir_120>\n",
            "  IN: call_tir_118:0<1,204,7,7,4|float32>,const_82:0<56,204,1,1,4,4|float32>\n",
            "  OUT: call_tir_119:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_204 const_83 <PARENTS: | CHILDERN: call_tir_120>\n",
            "  OUT: const_83:0<1,56,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_83<1,56,1,1,4|float32>\n",
            "\n",
            "ID_205 call_tir_120 <PARENTS: call_tir_119,const_83| CHILDERN: call_tir_121,call_tir_129>\n",
            "  IN: call_tir_119:0<1,56,7,7,4|float32>,const_83:0<1,56,1,1,4|float32>\n",
            "  OUT: call_tir_120:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_206 const_84 <PARENTS: | CHILDERN: call_tir_121>\n",
            "  OUT: const_84:0<336,56,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_84<336,56,1,1,4,4|float32>\n",
            "\n",
            "ID_207 call_tir_121 <PARENTS: call_tir_120,const_84| CHILDERN: call_tir_122>\n",
            "  IN: call_tir_120:0<1,56,7,7,4|float32>,const_84:0<336,56,1,1,4,4|float32>\n",
            "  OUT: call_tir_121:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_208 const_85 <PARENTS: | CHILDERN: call_tir_122>\n",
            "  OUT: const_85:0<1,336,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_85<1,336,1,1,4|float32>\n",
            "\n",
            "ID_209 call_tir_122 <PARENTS: call_tir_121,const_85| CHILDERN: call_tir_123>\n",
            "  IN: call_tir_121:0<1,336,7,7,4|float32>,const_85:0<1,336,1,1,4|float32>\n",
            "  OUT: call_tir_122:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_210 call_tir_123 <PARENTS: call_tir_122| CHILDERN: call_tir_124>\n",
            "  IN: call_tir_122:0<1,336,7,7,4|float32>\n",
            "  OUT: call_tir_123:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_211 const_86 <PARENTS: | CHILDERN: call_tir_124>\n",
            "  OUT: const_86:0<336,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_86<336,1,3,3,1,4|float32>\n",
            "\n",
            "ID_212 call_tir_124 <PARENTS: call_tir_123,const_86| CHILDERN: call_tir_125>\n",
            "  IN: call_tir_123:0<1,336,7,7,4|float32>,const_86:0<336,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_124:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_213 const_87 <PARENTS: | CHILDERN: call_tir_125>\n",
            "  OUT: const_87:0<1,336,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_87<1,336,1,1,4|float32>\n",
            "\n",
            "ID_214 call_tir_125 <PARENTS: call_tir_124,const_87| CHILDERN: call_tir_126>\n",
            "  IN: call_tir_124:0<1,336,7,7,4|float32>,const_87:0<1,336,1,1,4|float32>\n",
            "  OUT: call_tir_125:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_215 call_tir_126 <PARENTS: call_tir_125| CHILDERN: call_tir_127>\n",
            "  IN: call_tir_125:0<1,336,7,7,4|float32>\n",
            "  OUT: call_tir_126:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_216 const_88 <PARENTS: | CHILDERN: call_tir_127>\n",
            "  OUT: const_88:0<56,336,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_88<56,336,1,1,4,4|float32>\n",
            "\n",
            "ID_217 call_tir_127 <PARENTS: call_tir_126,const_88| CHILDERN: call_tir_128>\n",
            "  IN: call_tir_126:0<1,336,7,7,4|float32>,const_88:0<56,336,1,1,4,4|float32>\n",
            "  OUT: call_tir_127:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_218 const_89 <PARENTS: | CHILDERN: call_tir_128>\n",
            "  OUT: const_89:0<1,56,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_89<1,56,1,1,4|float32>\n",
            "\n",
            "ID_219 call_tir_128 <PARENTS: call_tir_127,const_89| CHILDERN: call_tir_129>\n",
            "  IN: call_tir_127:0<1,56,7,7,4|float32>,const_89:0<1,56,1,1,4|float32>\n",
            "  OUT: call_tir_128:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_220 call_tir_129 <PARENTS: call_tir_128,call_tir_120| CHILDERN: call_tir_130,call_tir_138>\n",
            "  IN: call_tir_128:0<1,56,7,7,4|float32>,call_tir_120:0<1,56,7,7,4|float32>\n",
            "  OUT: call_tir_129:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_221 const_90 <PARENTS: | CHILDERN: call_tir_130>\n",
            "  OUT: const_90:0<336,56,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_90<336,56,1,1,4,4|float32>\n",
            "\n",
            "ID_222 call_tir_130 <PARENTS: call_tir_129,const_90| CHILDERN: call_tir_131>\n",
            "  IN: call_tir_129:0<1,56,7,7,4|float32>,const_90:0<336,56,1,1,4,4|float32>\n",
            "  OUT: call_tir_130:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_223 const_91 <PARENTS: | CHILDERN: call_tir_131>\n",
            "  OUT: const_91:0<1,336,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_91<1,336,1,1,4|float32>\n",
            "\n",
            "ID_224 call_tir_131 <PARENTS: call_tir_130,const_91| CHILDERN: call_tir_132>\n",
            "  IN: call_tir_130:0<1,336,7,7,4|float32>,const_91:0<1,336,1,1,4|float32>\n",
            "  OUT: call_tir_131:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_225 call_tir_132 <PARENTS: call_tir_131| CHILDERN: call_tir_133>\n",
            "  IN: call_tir_131:0<1,336,7,7,4|float32>\n",
            "  OUT: call_tir_132:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_226 const_92 <PARENTS: | CHILDERN: call_tir_133>\n",
            "  OUT: const_92:0<336,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_92<336,1,3,3,1,4|float32>\n",
            "\n",
            "ID_227 call_tir_133 <PARENTS: call_tir_132,const_92| CHILDERN: call_tir_134>\n",
            "  IN: call_tir_132:0<1,336,7,7,4|float32>,const_92:0<336,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_133:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_228 const_93 <PARENTS: | CHILDERN: call_tir_134>\n",
            "  OUT: const_93:0<1,336,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_93<1,336,1,1,4|float32>\n",
            "\n",
            "ID_229 call_tir_134 <PARENTS: call_tir_133,const_93| CHILDERN: call_tir_135>\n",
            "  IN: call_tir_133:0<1,336,7,7,4|float32>,const_93:0<1,336,1,1,4|float32>\n",
            "  OUT: call_tir_134:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_230 call_tir_135 <PARENTS: call_tir_134| CHILDERN: call_tir_136>\n",
            "  IN: call_tir_134:0<1,336,7,7,4|float32>\n",
            "  OUT: call_tir_135:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_231 const_94 <PARENTS: | CHILDERN: call_tir_136>\n",
            "  OUT: const_94:0<56,336,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_94<56,336,1,1,4,4|float32>\n",
            "\n",
            "ID_232 call_tir_136 <PARENTS: call_tir_135,const_94| CHILDERN: call_tir_137>\n",
            "  IN: call_tir_135:0<1,336,7,7,4|float32>,const_94:0<56,336,1,1,4,4|float32>\n",
            "  OUT: call_tir_136:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_233 const_95 <PARENTS: | CHILDERN: call_tir_137>\n",
            "  OUT: const_95:0<1,56,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_95<1,56,1,1,4|float32>\n",
            "\n",
            "ID_234 call_tir_137 <PARENTS: call_tir_136,const_95| CHILDERN: call_tir_138>\n",
            "  IN: call_tir_136:0<1,56,7,7,4|float32>,const_95:0<1,56,1,1,4|float32>\n",
            "  OUT: call_tir_137:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_235 call_tir_138 <PARENTS: call_tir_137,call_tir_129| CHILDERN: call_tir_139>\n",
            "  IN: call_tir_137:0<1,56,7,7,4|float32>,call_tir_129:0<1,56,7,7,4|float32>\n",
            "  OUT: call_tir_138:0<1,56,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_236 const_96 <PARENTS: | CHILDERN: call_tir_139>\n",
            "  OUT: const_96:0<336,56,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_96<336,56,1,1,4,4|float32>\n",
            "\n",
            "ID_237 call_tir_139 <PARENTS: call_tir_138,const_96| CHILDERN: call_tir_140>\n",
            "  IN: call_tir_138:0<1,56,7,7,4|float32>,const_96:0<336,56,1,1,4,4|float32>\n",
            "  OUT: call_tir_139:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_238 const_97 <PARENTS: | CHILDERN: call_tir_140>\n",
            "  OUT: const_97:0<1,336,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_97<1,336,1,1,4|float32>\n",
            "\n",
            "ID_239 call_tir_140 <PARENTS: call_tir_139,const_97| CHILDERN: call_tir_141>\n",
            "  IN: call_tir_139:0<1,336,7,7,4|float32>,const_97:0<1,336,1,1,4|float32>\n",
            "  OUT: call_tir_140:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_240 call_tir_141 <PARENTS: call_tir_140| CHILDERN: call_tir_142>\n",
            "  IN: call_tir_140:0<1,336,7,7,4|float32>\n",
            "  OUT: call_tir_141:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_241 const_98 <PARENTS: | CHILDERN: call_tir_142>\n",
            "  OUT: const_98:0<336,1,3,3,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_98<336,1,3,3,1,4|float32>\n",
            "\n",
            "ID_242 call_tir_142 <PARENTS: call_tir_141,const_98| CHILDERN: call_tir_143>\n",
            "  IN: call_tir_141:0<1,336,7,7,4|float32>,const_98:0<336,1,3,3,1,4|float32>\n",
            "  OUT: call_tir_142:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_243 const_99 <PARENTS: | CHILDERN: call_tir_143>\n",
            "  OUT: const_99:0<1,336,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_99<1,336,1,1,4|float32>\n",
            "\n",
            "ID_244 call_tir_143 <PARENTS: call_tir_142,const_99| CHILDERN: call_tir_144>\n",
            "  IN: call_tir_142:0<1,336,7,7,4|float32>,const_99:0<1,336,1,1,4|float32>\n",
            "  OUT: call_tir_143:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_245 call_tir_144 <PARENTS: call_tir_143| CHILDERN: call_tir_145>\n",
            "  IN: call_tir_143:0<1,336,7,7,4|float32>\n",
            "  OUT: call_tir_144:0<1,336,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_246 const_100 <PARENTS: | CHILDERN: call_tir_145>\n",
            "  OUT: const_100:0<112,336,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_100<112,336,1,1,4,4|float32>\n",
            "\n",
            "ID_247 call_tir_145 <PARENTS: call_tir_144,const_100| CHILDERN: call_tir_146>\n",
            "  IN: call_tir_144:0<1,336,7,7,4|float32>,const_100:0<112,336,1,1,4,4|float32>\n",
            "  OUT: call_tir_145:0<1,112,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_248 const_101 <PARENTS: | CHILDERN: call_tir_146>\n",
            "  OUT: const_101:0<1,112,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_101<1,112,1,1,4|float32>\n",
            "\n",
            "ID_249 call_tir_146 <PARENTS: call_tir_145,const_101| CHILDERN: call_tir_147>\n",
            "  IN: call_tir_145:0<1,112,7,7,4|float32>,const_101:0<1,112,1,1,4|float32>\n",
            "  OUT: call_tir_146:0<1,112,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_250 const_102 <PARENTS: | CHILDERN: call_tir_147>\n",
            "  OUT: const_102:0<448,112,1,1,4,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_102<448,112,1,1,4,4|float32>\n",
            "\n",
            "ID_251 call_tir_147 <PARENTS: call_tir_146,const_102| CHILDERN: call_tir_148>\n",
            "  IN: call_tir_146:0<1,112,7,7,4|float32>,const_102:0<448,112,1,1,4,4|float32>\n",
            "  OUT: call_tir_147:0<1,448,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_252 const_103 <PARENTS: | CHILDERN: call_tir_148>\n",
            "  OUT: const_103:0<1,448,1,1,4|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_103<1,448,1,1,4|float32>\n",
            "\n",
            "ID_253 call_tir_148 <PARENTS: call_tir_147,const_103| CHILDERN: call_tir_149>\n",
            "  IN: call_tir_147:0<1,448,7,7,4|float32>,const_103:0<1,448,1,1,4|float32>\n",
            "  OUT: call_tir_148:0<1,448,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_254 call_tir_149 <PARENTS: call_tir_148| CHILDERN: call_tir_150>\n",
            "  IN: call_tir_148:0<1,448,7,7,4|float32>\n",
            "  OUT: call_tir_149:0<1,448,7,7,4|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_255 call_tir_150 <PARENTS: call_tir_149| CHILDERN: call_tir_151>\n",
            "  IN: call_tir_149:0<1,448,7,7,4|float32>\n",
            "  OUT: call_tir_150:0<1,1792,7,7|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_256 call_tir_151 <PARENTS: call_tir_150| CHILDERN: call_tir_152>\n",
            "  IN: call_tir_150:0<1,1792,7,7|float32>\n",
            "  OUT: call_tir_151:0<1,1792,1,1|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_257 call_tir_152 <PARENTS: call_tir_151| CHILDERN: call_tir_153>\n",
            "  IN: call_tir_151:0<1,1792,1,1|float32>\n",
            "  OUT: call_tir_152:0<1,1792,1,1,1|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_258 const_104 <PARENTS: | CHILDERN: call_tir_153>\n",
            "  OUT: const_104:0<1001,1792,1,1,1,1|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_104<1001,1792,1,1,1,1|float32>\n",
            "\n",
            "ID_259 call_tir_153 <PARENTS: call_tir_152,const_104| CHILDERN: call_tir_154>\n",
            "  IN: call_tir_152:0<1,1792,1,1,1|float32>,const_104:0<1001,1792,1,1,1,1|float32>\n",
            "  OUT: call_tir_153:0<1,1001,1,1,1|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_260 const_105 <PARENTS: | CHILDERN: call_tir_154>\n",
            "  OUT: const_105:0<1,1001,1,1,1|float32>\n",
            "  OPTYPE: constant\n",
            "  WEIGHTS: \n",
            "    const: const_105<1,1001,1,1,1|float32>\n",
            "\n",
            "ID_261 call_tir_154 <PARENTS: call_tir_153,const_105| CHILDERN: call_tir_155>\n",
            "  IN: call_tir_153:0<1,1001,1,1,1|float32>,const_105:0<1,1001,1,1,1|float32>\n",
            "  OUT: call_tir_154:0<1,1001,1,1,1|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_262 call_tir_155 <PARENTS: call_tir_154| CHILDERN: call_tir_156>\n",
            "  IN: call_tir_154:0<1,1001,1,1,1|float32>\n",
            "  OUT: call_tir_155:0<1,1001,1|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_263 call_tir_156 <PARENTS: call_tir_155| CHILDERN: call_tir_157>\n",
            "  IN: call_tir_155:0<1,1001,1|float32>\n",
            "  OUT: call_tir_156:0<1,1001|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_264 call_tir_157 <PARENTS: call_tir_156| CHILDERN: call_tir_158>\n",
            "  IN: call_tir_156:0<1,1001|float32>\n",
            "  OUT: call_tir_157:0<1,1001|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_265 call_tir_158 <PARENTS: call_tir_157| CHILDERN: call_tir_159>\n",
            "  IN: call_tir_157:0<1,1001|float32>\n",
            "  OUT: call_tir_158:0<1,1001|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "ID_266 call_tir_159 <PARENTS: call_tir_158| CHILDERN: >\n",
            "  IN: call_tir_158:0<1,1001|float32>\n",
            "  OUT: call_tir_159:0(call_tir_159)<1,1001|float32>\n",
            "  OPTYPE: call_tir\n",
            "  SCOPE: block\n",
            "\n",
            "\n"
          ]
        }
      ],
      "source": [
        "from tvm.contrib.msc.core.frontend import translate\n",
        "\n",
        "graph, weights = translate.from_relax(relax_mod)\n",
        "print(graph)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 121,
      "metadata": {},
      "outputs": [
        {
          "ename": "InternalError",
          "evalue": "Traceback (most recent call last):\n  6: _ZN3tvm7runtime13PackedFun\n  5: tvm::runtime::TypedPackedFunc<tvm::runtime::Map<tvm::runtime::String, tvm::runtime::String, void, void> (tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)>::AssignTypedLambda<tvm::contrib::msc::__mk_TVM0::{lambda(tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)#1}>(tvm::contrib::msc::__mk_TVM0::{lambda(tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const, tvm::runtime::TVMRetValue) const\n  4: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::GetSources(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)\n  3: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::CodeGenScript()\n  2: tvm::contrib::msc::TorchCodeGen::CodeGenGraph()\n  1: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::CodeGenNode(tvm::contrib::msc::MSCJoint const&, bool)\n  0: tvm::contrib::msc::TorchCodeGen::GetOpCodes(tvm::contrib::msc::MSCJoint const&)\n  SCOPE: block\n  OPTYPE: call_tir\n  OUT: call_tir:0<1,1,224,224,3|float32>\n  IN: input:0(input)<1,3,224,224|float32>\n  File \"/media/pc/data/lxw/ai/tvm/src/contrib/msc/framework/torch/codegen.cc\", line 144\nInternalError: Check failed: (it != ops_map->end()) is false: Unsupported torch op(call_tir): ID_1 call_tir <PARENTS: input| CHILDERN: call_tir_1>",
          "output_type": "error",
          "traceback": [
            "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[0;31mInternalError\u001b[0m                             Traceback (most recent call last)",
            "Cell \u001b[0;32mIn[121], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43mcodegen\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mto_torch\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgraph\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mweights\u001b[49m\u001b[43m)\u001b[49m\n",
            "File \u001b[0;32m/media/pc/data/lxw/ai/tvm/python/tvm/contrib/msc/framework/torch/codegen/codegen.py:80\u001b[0m, in \u001b[0;36mto_torch\u001b[0;34m(graph, weights, codegen_config, print_config, build_folder, plugin)\u001b[0m\n\u001b[1;32m     78\u001b[0m codegen \u001b[38;5;241m=\u001b[39m CodeGen(graph, _ffi_api\u001b[38;5;241m.\u001b[39mGetTorchSources, codegen_config, print_config, build_folder)\n\u001b[1;32m     79\u001b[0m model_args \u001b[38;5;241m=\u001b[39m [plugin] \u001b[38;5;28;01mif\u001b[39;00m plugin \u001b[38;5;28;01melse\u001b[39;00m []\n\u001b[0;32m---> 80\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcodegen\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel_args\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpre_load\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_save_weights\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpost_load\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_bind_weights\u001b[49m\u001b[43m)\u001b[49m\n",
            "File \u001b[0;32m/media/pc/data/lxw/ai/tvm/python/tvm/contrib/msc/core/codegen/codegen.py:93\u001b[0m, in \u001b[0;36mCodeGen.load\u001b[0;34m(self, inputs, pre_load, post_load, build_model)\u001b[0m\n\u001b[1;32m     67\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mload\u001b[39m(\n\u001b[1;32m     68\u001b[0m     \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m     69\u001b[0m     inputs: Optional[List[Any]] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m     72\u001b[0m     build_model: \u001b[38;5;28mbool\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m     73\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m Any:\n\u001b[1;32m     74\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"Generate source and load the model\u001b[39;00m\n\u001b[1;32m     75\u001b[0m \n\u001b[1;32m     76\u001b[0m \u001b[38;5;124;03m    Parameters\u001b[39;00m\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m     90\u001b[0m \u001b[38;5;124;03m        The model object for the framework.\u001b[39;00m\n\u001b[1;32m     91\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[0;32m---> 93\u001b[0m     sources \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_source_getter\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_graph\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_codegen_config\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_print_config\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m     94\u001b[0m     inputs \u001b[38;5;241m=\u001b[39m inputs \u001b[38;5;129;01mor\u001b[39;00m []\n\u001b[1;32m     95\u001b[0m     \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_build_folder \u001b[38;5;28;01mas\u001b[39;00m folder:\n\u001b[1;32m     96\u001b[0m         \u001b[38;5;66;03m# pre processing\u001b[39;00m\n",
            "File \u001b[0;32m/media/pc/data/lxw/ai/tvm/python/tvm/_ffi/_ctypes/packed_func.py:245\u001b[0m, in \u001b[0;36mPackedFuncBase.__call__\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m    233\u001b[0m ret_tcode \u001b[38;5;241m=\u001b[39m ctypes\u001b[38;5;241m.\u001b[39mc_int()\n\u001b[1;32m    234\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\n\u001b[1;32m    235\u001b[0m     _LIB\u001b[38;5;241m.\u001b[39mTVMFuncCall(\n\u001b[1;32m    236\u001b[0m         \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle,\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m    243\u001b[0m     \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[1;32m    244\u001b[0m ):\n\u001b[0;32m--> 245\u001b[0m     \u001b[43mraise_last_ffi_error\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    246\u001b[0m _ \u001b[38;5;241m=\u001b[39m temp_args\n\u001b[1;32m    247\u001b[0m _ \u001b[38;5;241m=\u001b[39m args\n",
            "File \u001b[0;32m/media/pc/data/lxw/ai/tvm/python/tvm/_ffi/base.py:481\u001b[0m, in \u001b[0;36mraise_last_ffi_error\u001b[0;34m()\u001b[0m\n\u001b[1;32m    475\u001b[0m \u001b[38;5;66;03m# The exception PyObject may contain a large amount of state,\u001b[39;00m\n\u001b[1;32m    476\u001b[0m \u001b[38;5;66;03m# including all stack frames that may be inspected in a later\u001b[39;00m\n\u001b[1;32m    477\u001b[0m \u001b[38;5;66;03m# PDB post-mortem.  Therefore, we must make sure to remove the\u001b[39;00m\n\u001b[1;32m    478\u001b[0m \u001b[38;5;66;03m# underlying PyObject* from the C++ side after we retrieve it.\u001b[39;00m\n\u001b[1;32m    479\u001b[0m _LIB\u001b[38;5;241m.\u001b[39mTVMDropLastPythonError()\n\u001b[0;32m--> 481\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m py_err\n",
            "\u001b[0;31mInternalError\u001b[0m: Traceback (most recent call last):\n  6: _ZN3tvm7runtime13PackedFun\n  5: tvm::runtime::TypedPackedFunc<tvm::runtime::Map<tvm::runtime::String, tvm::runtime::String, void, void> (tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)>::AssignTypedLambda<tvm::contrib::msc::__mk_TVM0::{lambda(tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)#1}>(tvm::contrib::msc::__mk_TVM0::{lambda(tvm::contrib::msc::MSCGraph const&, tvm::runtime::String const&, tvm::runtime::String const&)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(tvm::runtime::TVMArgs const&, tvm::runtime::TVMRetValue*)#1}::operator()(tvm::runtime::TVMArgs const, tvm::runtime::TVMRetValue) const\n  4: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::GetSources(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)\n  3: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::CodeGenScript()\n  2: tvm::contrib::msc::TorchCodeGen::CodeGenGraph()\n  1: tvm::contrib::msc::PyCodeGen<tvm::contrib::msc::TorchCodeGenConfig, tvm::contrib::msc::TorchCodeGenHelper>::CodeGenNode(tvm::contrib::msc::MSCJoint const&, bool)\n  0: tvm::contrib::msc::TorchCodeGen::GetOpCodes(tvm::contrib::msc::MSCJoint const&)\n  SCOPE: block\n  OPTYPE: call_tir\n  OUT: call_tir:0<1,1,224,224,3|float32>\n  IN: input:0(input)<1,3,224,224|float32>\n  File \"/media/pc/data/lxw/ai/tvm/src/contrib/msc/framework/torch/codegen.cc\", line 144\nInternalError: Check failed: (it != ops_map->end()) is false: Unsupported torch op(call_tir): ID_1 call_tir <PARENTS: input| CHILDERN: call_tir_1>"
          ]
        }
      ],
      "source": [
        "model = codegen.to_torch(graph, weights)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {},
      "outputs": [],
      "source": [
        "\n"
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.12.4"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
